package com.mf.ergate.web.service.sys.impl;

import com.mf.ergate.api.sys.FileStorageInfoRemoteService;
import com.mf.ergate.api.sys.model.dto.*;
import com.mf.ergate.api.sys.model.vo.FileStorageInfoVo;
import com.mf.ergate.web.service.sys.FileStorageInfoService;
import com.mf.framework.common.model.Page;
import com.mf.framework.common.model.RemotePage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
* 文件存储信息Service层实现类
* User: zhaoming
* DateTime: 2019-03-11
* To change this template use File | Settings | File Templates.
**/
@Service
public class FileStorageInfoServiceImpl implements FileStorageInfoService {

    private Logger logger = LoggerFactory.getLogger(getClass());

    @Autowired
    private FileStorageInfoRemoteService fileStorageInfoRemoteService;
    
    /**
     * 保存
     * @param fileStorageInfoSaveDto 文件存储信息保存Dto
     * @return 文件存储信息
     */
    public FileStorageInfoVo save(FileStorageInfoSaveDto fileStorageInfoSaveDto){
        return fileStorageInfoRemoteService.save(fileStorageInfoSaveDto).getContent();
    }

    /**
     * 删除(逻辑删除)
     * @param fileStorageInfoDeleteDto 文件存储信息删除Dto
     * @return 执行结果
     */
    public Boolean delete(FileStorageInfoDeleteDto fileStorageInfoDeleteDto){
        return fileStorageInfoRemoteService.delete(fileStorageInfoDeleteDto).getContent();
    }
    
    /**
     * 根据唯一编号查询
     * @param fileStorageInfoNo 文件存储信息编号
     * @return 文件存储信息
     */
    public FileStorageInfoVo selectByUniqueNo(String fileStorageInfoNo){
        return fileStorageInfoRemoteService.selectByUniqueNo(fileStorageInfoNo).getContent();
    }

    /**
     * 根据条件分页查询
     * @param page 远程分页
     * @param fileStorageInfoQueryDto 文件存储信息查询Dto
     * @return 文件存储信息分页列表
     */
    public Page<FileStorageInfoVo> selectPage(Page page, FileStorageInfoQueryDto fileStorageInfoQueryDto){
        return fileStorageInfoRemoteService.selectPage(new RemotePage<>(fileStorageInfoQueryDto, page)).getContent();
    }

    /**
     * 下载
     * @param uniqueNo 唯一编号
     * @return 文件
     */
    public byte[] download(String uniqueNo){
        return fileStorageInfoRemoteService.download(uniqueNo).getContent();
    }

}
